﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using Converter;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Telerik.Windows.Controls;
using System.Resources;
using System.Reflection;
using Accounting.Library;
using csla4Skeleton.UI.SL.NghiepVu.TinhGiaThanh.GT_KyGiaThanh;

namespace csla4Skeleton.UI.SL.NghiepVu.TinhGiaThanh.GT_DoDangDK
{
    public partial class FormThongTin : ChildWindow
    {
        GT_DoDangDK_ListViewModel ListViewModel;
        GT_DoDangDK_ChildWindow gt_DoDangDK_ChildWindow;
        public event EventHandler Saved;
   
        public FormThongTin(GT_DoDangDK_ListViewModel listViewModel)
        {        
            LocalizationConverter converter = new LocalizationConverter();
            converter.LocalResourceManager = new ResourceManager("ccsla4Skeleton.UI.SL.NghiepVu.TaiSanCoDinh.GT_DoDangDK.Resources", Assembly.GetExecutingAssembly());
            this.Resources.Add("Localization", converter);
            InitializeComponent();
            this.ListViewModel = listViewModel;

            System.Windows.Data.CollectionViewSource gt_KyGiaThanh_CollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["GT_KyGiaThanh_ListViewModelSource"];
            GT_KyGiaThanh_ListViewModel gt_KyGiaThanh_ListViewModel = new GT_KyGiaThanh_ListViewModel(BusinessConfiguration.Configuration.ComboboxFetchMode);
            gt_KyGiaThanh_CollectionViewSource.Source = new List<object> { gt_KyGiaThanh_ListViewModel };

           
        }

        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
        }

        private void TinhDoDangDKButton_Click(object sender, RoutedEventArgs e)
        {

            if (KyGiaThanh_ComboBox.SelectedItem == null)
            {
                MessageBoxResult notice = MessageBox.Show("Bạn chưa nhập liệu đầy đủ", "Chưa nhập liệu", MessageBoxButton.OKCancel);
            }
            else
            {

                IList<GT_DoDangDKInfo> list = ListViewModel.Model.getListOfInfo();
                GT_DoDangDKInfo DoDangDK = null;
                foreach (GT_DoDangDKInfo item in list)
                {
                    if (item.KyGiaThanhInfo == ((GT_KyGiaThanhInfo)this.KyGiaThanh_ComboBox.SelectedItem).Ma)
                    {
                        DoDangDK = item;
                    }
                }
                if (DoDangDK != null)
                {

                    MessageBoxResult result = MessageBox.Show("Chứng từ nhập số dư đầu kỳ này đã tồn tại, bạn có muốn xem hay không?", "Xem chứng từ nhập số dư đầu kỳ", MessageBoxButton.OKCancel);
                    if (result == MessageBoxResult.OK)
                    {

                        gt_DoDangDK_ChildWindow = new GT_DoDangDK_ChildWindow(DoDangDK.Khoa);
                        gt_DoDangDK_ChildWindow.Show();
                        gt_DoDangDK_ChildWindow.TinhDoDangDKCompleteted += new EventHandler(OnTinhDoDangDKCompleteted);
                        gt_DoDangDK_ChildWindow.OnClosedChildWindow += new EventHandler(OnClosedWindow);
                    }
                }
                else
                {

                    gt_DoDangDK_ChildWindow = new GT_DoDangDK_ChildWindow((GT_KyGiaThanhInfo)this.KyGiaThanh_ComboBox.SelectedItem, this.DienGiaiTextBox.Text);
                    gt_DoDangDK_ChildWindow.Show();
                    gt_DoDangDK_ChildWindow.Visibility = Visibility.Collapsed;

                    this.TinhDoDangDKItemButton.IsEnabled = false;
                    this.BoQuaItemButton.IsEnabled = false;
                    gt_DoDangDK_ChildWindow.TinhDoDangDKCompleteted += new EventHandler(OnTinhDoDangDKCompleteted);
                    gt_DoDangDK_ChildWindow.OnClosedChildWindow += new EventHandler(OnClosedWindow);
                    
                }
            }
            
        }


        private void OnClosedWindow(object sender, EventArgs e)
        {
            this.Close();
        }
        private void DatePicker_KeyUp(object sender, KeyEventArgs e)
        {
            
            ControlBehavior.DatePickerBehaviors.DatePicker_KeyUp(sender, e, null);
            
        }
        private void OnTinhDoDangDKCompleteted(object sender, EventArgs e)
        {
            if (gt_DoDangDK_ChildWindow.CountSave == 0)
            {
                MessageBoxResult result = MessageBox.Show("Chứng từ nhập số dư đầu kỳ đã xong, bạn có muốn xem chứng từ nhập số dư đầu kỳ không ?", "Xem chứng từ nhập số dư đầu kỳ", MessageBoxButton.OKCancel);
                if (result == MessageBoxResult.OK)
                {
                    gt_DoDangDK_ChildWindow.Visibility = Visibility.Visible;
                    gt_DoDangDK_ChildWindow.CountSave++;
                    if (Saved != null)
                    {
                        Saved(sender, e);
                    }
                
                }
                else
                {
                    gt_DoDangDK_ChildWindow.CountSave++;
                    gt_DoDangDK_ChildWindow.Close();
                    if (Saved != null)
                    {
                        Saved(sender, e);
                    } 
                   
                }

            }
            else
            {
                if (Saved != null)
                {
                    Saved(sender, e);
                }
            }
           
        }
        
    }
}

